1788C - Matching Numbers - CodeForces Solution


math

Please click on ads to support us..

C++ Code:

#include<bits/stdc++.h>
using namespace std;
#define ll      long long int 
#define vt      vector
#define pb      push_back
#define eb      emplace_back
#define all(x)  (x).begin(), (x).end()
#define lb      lower_bound
#define ub      upper_bound
typedef pair<int, int> pairs;
const ll N = 1e6 + 1;
const int M=1e9 + 7;
#define INF 1e18
// bool isPrime(ll n)
// {
// 	if (n == 1)
// 		return false;

// 	for (ll i = 2; i * i <= n; i++) {
// 		if (n % i == 0)
// 			return false;
// 	}
// 	return true;
// }
// ll factorial(ll n)
// {
//     return (n==1 || n==0) ? 1: n * factorial(n - 1);
// }
// string bin(ll num)
// {
//     string str;
//       while(num)
//       {
//       if(num & 1) 
//         str+='1';
//       else 
//         str+='0';
//       num>>=1; // Right Shift by 1 
//     }   
//       return str;
// }
// string db(int n)
// {
//     // Size of an integer is assumed to be 32 bits
//     string ans;
//     for (int i = 64; i >= 0; i--)
//     {
//         int k = n >> i;
//         if (k & 1)
//             ans += '1';
//         else
//             ans += '0';
//     }
//     return ans;
// }

// string rev(string x)
// {
// 	string ans=x;
// 	reverse(all(ans));
// 	return ans;
// }
// ll power(ll x, ll p) 
// {
// 	ll ans = 1;
// 	while(p) 
// 	{
// 		if(p&1)
// 			ans=ans*x%M;
// 		p/=2;
// 		x=x*x%M;
// 	}
// 	return ans;
// }
// ll fact[N];
// void precalc()
// {
//     fact[0]=1;
//     for(int i=1;i<N;i++)
//         fact[i]=(fact[i-1]*1ll*i)%M;
// }
        
// ll binexp(ll a,ll b,ll m)
// {
// 	ll res=1;
// 	while(b>0)
// 	{
// 		if(b&1)
// 			res=(res*1ll*a)%m;
// 		a=(a*1ll*a)%m;
// 		b>>=1;
// 	}
// 	return res;
// }
// ll ncr(ll n,ll r)
// {
// 	precalc();
// 	ll ans=fact[n];
// 	ll den=(fact[n-r]*1ll*fact[r])%M;
// 	ans=ans*binexp(den,M-2,M);
// 	ans%=M;
// 	return ans;
// }
// ll prime[nmax],cnt[nmax];  
// void sieve()
// {
// 	prime[0]=0; 
// 	prime[1]=0;
// 	for(ll i=2;i*i<nmax;i++)
// 	{
// 		if(prime[i]!=0)
// 			continue;
// 		for(ll j=i*i;j<nmax;j+=i)
// 			prime[j]=i;
// 	}
// }
// ll sm(ll n)
// {
// 	ll s=0;
// 	while(n)
//    {
//         s+=n%10;
//         n/=10;
//     }
//     return s;
// }
int main()
{
	int t=1;
	cin>>t;
	while(t--)
	{
		ll n,m=0,z,h=INF,ct=0,d=0,mx=0,sum=0,ans=-1,mn=0,f=1,f1=0,k=1,x=0,y=0;
		cin>>n;
		// ll a[n],b[n],c[n];
        // string s;
        // cin>>s;
        // vt<ll> v;
        // for(ll i=0;i<n;i++)
        // 	cin>>a[i];
        if(n%2==0)
        {
            cout<<"No"<<endl;
            continue;
        }
        cout<<"Yes"<<endl;
        x=1,y=2*n;
        for(ll i=0;i<n;i++)
        {
            cout<<x<<" "<<y<<endl;
            x+=2;
            x%=n;
            if(x==0)
                x=n;
            y--;
        }

        
       
        // auto up =ub(a,a+n,d);
        
        // int i=0;
        // 	while(a[i]<=d)
        // 	{
        		
        // 		d-=a[i];
        // 		i++;
        // 	}
        

        
      
			
		
		
		// for(auto x:v)
		// 	cout<<x<<" ";
		
		// cout<<(f?"YES":"NO")<<endl;
		
		// 	if(f)
		// 		break;
		// }
		// if(f)
		// {
		// 	cout<<"TAK"<<endl;
		//     for(ll i=0;i<n;i++)
		// 	cout<<b[i]+1<<" ";
		//     cout<<endl;
		//     continue;
		// }
		
    // cout<<endl;

		
		


	
	
    // for(auto x:v)
    //     cout<<x<<" ";
      
        // cout<<endl;
        
        
           
	

	}         
   
}
    

		
		



		
		
			
			
		
	

		
		

		


Comments

Submit
0 Comments
More Questions

1711A - Perfect Permutation
1701B - Permutation
1692A - Marathon
1066A - Vova and Train
169B - Replacing Digits
171D - Broken checker
380C - Sereja and Brackets
1281B - Azamon Web Services
1702A - Round Down the Price
1681C - Double Sort
12A - Super Agent
1709A - Three Doors
1680C - Binary String
1684B - Z mod X = C
1003A - Polycarp's Pockets
1691B - Shoe Shuffling
1706A - Another String Minimization Problem
1695B - Circle Game
1702B - Polycarp Writes a String from Memory
1701A - Grass Field
489C - Given Length and Sum of Digits
886B - Vlad and Cafes
915A - Garden
356A - Knight Tournament
1330A - Dreamoon and Ranking Collection
1692B - All Distinct
1156C - Match Points
1675A - Food for Animals
1328C - Ternary XOR
1689A - Lex String